package com.gary.registry;

import com.gary.entity.MyURL;

import java.util.HashMap;
import java.util.Map;

/**
 * 自定义注册中心 使用Map数据接口作为注册中心的 数据存储
 * @author pengrui3
 * @date 2020/12/11-21:36
 */
public class NativeRegistry {
    private static Map<String, Map<MyURL, Class>> registryCenter = new HashMap<>();

    /**
     *  注册服务
     * @param interfaceName
     * @param myURL
     * @param impl
     */
    public static void registry(String interfaceName, MyURL myURL, Class impl) {
        Map<MyURL, Class> map = new HashMap<>();
        map.put(myURL, impl);
        registryCenter.put(interfaceName, map);
    }

    /**
     *  消费俯卧
     * @param interfaceName
     * @param url
     * @return
     */
    public static Class get(String interfaceName, MyURL url) {
        Map<MyURL, Class> urlMap = registryCenter.get(interfaceName);
        Class target = urlMap.get(url);
        return target;
    }
}
